--------------------------------------------------------------------------- ValueError Traceback (most recent call last) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, include, exclude) 2154 # see https://github.com/ipython/ipython/issues/11038 2155 try: 2156 dct = self.to_dict() 2157 except Exception: -> 2158 utils.display_traceback(in_ipython=True) 2159 return {} 2160 else: 2161 return renderers.get()(dct) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 2516 # for easier specification of datum encodings. 2517 copy = self.copy(deep=False) 2518 copy.data = core.InlineData(values=[{}]) 2519 return super(Chart, copy).to_dict(*args, **kwargs) -> 2520 return super().to_dict(*args, **kwargs) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 846 847 # TopLevelMixin instance does not necessarily have to_dict defined 848 # but due to how Altair is set up this should hold. 849 # Too complex to type hint right now --> 850 dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs) # type: ignore[misc] 851 852 # TODO: following entries are added after validation. Should they be validated? 853 if is_top_level: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/schema/channels.py in ?(self, validate, ignore, context) 43 # We still parse it out of the shorthand, but drop it here. 44 parsed.pop('type', None) 45 elif not (type_in_shorthand or type_defined_explicitly): 46 if isinstance(context.get('data', None), pd.DataFrame): ---> 47 raise ValueError( 48 'Unable to determine data type for the field "{}";' 49 " verify that the field name is not misspelled." 50 " If you are referencing a field from a transform," ValueError: Unable to determine data type for the field "tech_type"; verify that the field name is not misspelled. If you are referencing a field from a transform, also confirm that the data type is specified correctly.
alt.Chart(...)
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, include, exclude) 2154 # see https://github.com/ipython/ipython/issues/11038 2155 try: 2156 dct = self.to_dict() 2157 except Exception: -> 2158 utils.display_traceback(in_ipython=True) 2159 return {} 2160 else: 2161 return renderers.get()(dct) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 2516 # for easier specification of datum encodings. 2517 copy = self.copy(deep=False) 2518 copy.data = core.InlineData(values=[{}]) 2519 return super(Chart, copy).to_dict(*args, **kwargs) -> 2520 return super().to_dict(*args, **kwargs) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 846 847 # TopLevelMixin instance does not necessarily have to_dict defined 848 # but due to how Altair is set up this should hold. 849 # Too complex to type hint right now --> 850 dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs) # type: ignore[misc] 851 852 # TODO: following entries are added after validation. Should they be validated? 853 if is_top_level: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/schema/channels.py in ?(self, validate, ignore, context) 43 # We still parse it out of the shorthand, but drop it here. 44 parsed.pop('type', None) 45 elif not (type_in_shorthand or type_defined_explicitly): 46 if isinstance(context.get('data', None), pd.DataFrame): ---> 47 raise ValueError( 48 'Unable to determine data type for the field "{}";' 49 " verify that the field name is not misspelled." 50 " If you are referencing a field from a transform," ValueError: Unable to determine data type for the field "tech_type"; verify that the field name is not misspelled. If you are referencing a field from a transform, also confirm that the data type is specified correctly.
alt.Chart(...)
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, include, exclude) 2154 # see https://github.com/ipython/ipython/issues/11038 2155 try: 2156 dct = self.to_dict() 2157 except Exception: -> 2158 utils.display_traceback(in_ipython=True) 2159 return {} 2160 else: 2161 return renderers.get()(dct) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 846 847 # TopLevelMixin instance does not necessarily have to_dict defined 848 # but due to how Altair is set up this should hold. 849 # Too complex to type hint right now --> 850 dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs) # type: ignore[misc] 851 852 # TODO: following entries are added after validation. Should they be validated? 853 if is_top_level: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 846 847 # TopLevelMixin instance does not necessarily have to_dict defined 848 # but due to how Altair is set up this should hold. 849 # Too complex to type hint right now --> 850 dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs) # type: ignore[misc] 851 852 # TODO: following entries are added after validation. Should they be validated? 853 if is_top_level: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): --> 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 338 def _todict(obj, context): 339 """Convert an object to a dict representation.""" 340 if isinstance(obj, SchemaBase): 341 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 2516 # for easier specification of datum encodings. 2517 copy = self.copy(deep=False) 2518 copy.data = core.InlineData(values=[{}]) 2519 return super(Chart, copy).to_dict(*args, **kwargs) -> 2520 return super().to_dict(*args, **kwargs) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 846 847 # TopLevelMixin instance does not necessarily have to_dict defined 848 # but due to how Altair is set up this should hold. 849 # Too complex to type hint right now --> 850 dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs) # type: ignore[misc] 851 852 # TODO: following entries are added after validation. Should they be validated? 853 if is_top_level: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/schema/channels.py in ?(self, validate, ignore, context) 43 # We still parse it out of the shorthand, but drop it here. 44 parsed.pop('type', None) 45 elif not (type_in_shorthand or type_defined_explicitly): 46 if isinstance(context.get('data', None), pd.DataFrame): ---> 47 raise ValueError( 48 'Unable to determine data type for the field "{}";' 49 " verify that the field name is not misspelled." 50 " If you are referencing a field from a transform," ValueError: Unable to determine data type for the field "tech_type"; verify that the field name is not misspelled. If you are referencing a field from a transform, also confirm that the data type is specified correctly.
alt.FacetChart(...)
| tech_type | planning_year | GenX | USENSYS |
|---|---|---|---|
| Battery | 2027 | 21854 | 21854 |
| Battery | 2030 | 21719 | 21719 |
| Battery | 2035 | 20535 | 20535 |
| Battery | 2040 | 84 | 84 |
| Battery | 2045 | 0 | nan |
| Battery | 2050 | 0 | nan |
| Coal | 2027 | 157337 | 157337 |
| Coal | 2030 | 142458 | 142458 |
| Coal | 2035 | 122365 | 122365 |
| Coal | 2040 | 82414 | 82414 |
| Coal | 2045 | 57333 | 57333 |
| Coal | 2050 | 30232 | 30232 |
| Distributed Solar | 2027 | 47556 | 47556 |
| Distributed Solar | 2030 | 72304 | 72304 |
| Distributed Solar | 2035 | 96511 | 96511 |
| Distributed Solar | 2040 | 102759 | 102759 |
| Distributed Solar | 2045 | 107818 | 107818 |
| Distributed Solar | 2050 | 116123 | 116123 |
| Geothermal | 2027 | 676 | 676 |
| Geothermal | 2030 | 621 | 621 |
| Geothermal | 2035 | 591 | 591 |
| Geothermal | 2040 | 398 | 398 |
| Geothermal | 2045 | 217 | 217 |
| Geothermal | 2050 | 100 | 100 |
| Hydro | 2027 | 94746 | 94746 |
| Hydro | 2030 | 92716 | 92716 |
| Hydro | 2035 | 91778 | 91778 |
| Hydro | 2040 | 89100 | 89100 |
| Hydro | 2045 | 84874 | 84874 |
| Hydro | 2050 | 81492 | 81492 |
| Natural Gas CC | 2027 | 306785 | 306785 |
| Natural Gas CC | 2030 | 305219 | 305219 |
| Natural Gas CC | 2035 | 300271 | 300271 |
| Natural Gas CC | 2040 | 297744 | 297744 |
| Natural Gas CC | 2045 | 295809 | 295809 |
| Natural Gas CC | 2050 | 287607 | 287607 |
| Natural Gas CT | 2027 | 140564 | 140564 |
| Natural Gas CT | 2030 | 139354 | 139354 |
| Natural Gas CT | 2035 | 136588 | 136588 |
| Natural Gas CT | 2040 | 130481 | 130481 |
| Natural Gas CT | 2045 | 119365 | 119365 |
| Natural Gas CT | 2050 | 95279 | 95279 |
| Nuclear | 2027 | 97038 | 97038 |
| Nuclear | 2030 | 97038 | 97038 |
| Nuclear | 2035 | 97038 | 97038 |
| Nuclear | 2040 | 97038 | 97038 |
| Nuclear | 2045 | 97038 | 97038 |
| Nuclear | 2050 | 94298 | 94298 |
| Solar | 2027 | 115692 | 115692 |
| Solar | 2030 | 115685 | 115685 |
| Solar | 2035 | 115677 | 115677 |
| Solar | 2040 | 115288 | 115288 |
| Solar | 2045 | 103532 | 103532 |
| Solar | 2050 | 69624 | 69624 |
| Wind | 2027 | 155394 | 155394 |
| Wind | 2030 | 154608 | 154608 |
| Wind | 2035 | 148441 | 148441 |
| Wind | 2040 | 117636 | 117636 |
| Wind | 2045 | 83551 | 83551 |
| Wind | 2050 | 37428 | 37428 |
| tech_type | planning_year | GenX | USENSYS |
|---|---|---|---|
| Battery | 2027 | 21854 | 21854 |
| Battery | 2030 | 21719 | 21719 |
| Battery | 2035 | 20535 | 20535 |
| Battery | 2040 | 84 | 84 |
| Battery | 2045 | 0 | nan |
| Battery | 2050 | 0 | nan |
| Coal | 2027 | 157337 | 157337 |
| Coal | 2030 | 142458 | 142458 |
| Coal | 2035 | 122365 | 122365 |
| Coal | 2040 | 82414 | 82414 |
| Coal | 2045 | 57333 | 57333 |
| Coal | 2050 | 30232 | 30232 |
| Distributed Solar | 2027 | 47556 | 47556 |
| Distributed Solar | 2030 | 72304 | 72304 |
| Distributed Solar | 2035 | 96511 | 96511 |
| Distributed Solar | 2040 | 102759 | 102759 |
| Distributed Solar | 2045 | 107818 | 107818 |
| Distributed Solar | 2050 | 116123 | 116123 |
| Geothermal | 2027 | 676 | 676 |
| Geothermal | 2030 | 621 | 621 |
| Geothermal | 2035 | 591 | 591 |
| Geothermal | 2040 | 398 | 398 |
| Geothermal | 2045 | 217 | 217 |
| Geothermal | 2050 | 100 | 100 |
| Hydro | 2027 | 94746 | 94746 |
| Hydro | 2030 | 92716 | 92716 |
| Hydro | 2035 | 91778 | 91778 |
| Hydro | 2040 | 89100 | 89100 |
| Hydro | 2045 | 84874 | 84874 |
| Hydro | 2050 | 81492 | 81492 |
| Natural Gas CC | 2027 | 306785 | 306785 |
| Natural Gas CC | 2030 | 305219 | 305219 |
| Natural Gas CC | 2035 | 300271 | 300271 |
| Natural Gas CC | 2040 | 297744 | 297744 |
| Natural Gas CC | 2045 | 295809 | 295809 |
| Natural Gas CC | 2050 | 287607 | 287607 |
| Natural Gas CT | 2027 | 140564 | 140564 |
| Natural Gas CT | 2030 | 139354 | 139354 |
| Natural Gas CT | 2035 | 136588 | 136588 |
| Natural Gas CT | 2040 | 130481 | 130481 |
| Natural Gas CT | 2045 | 119365 | 119365 |
| Natural Gas CT | 2050 | 95279 | 95279 |
| Nuclear | 2027 | 97038 | 97038 |
| Nuclear | 2030 | 97038 | 97038 |
| Nuclear | 2035 | 97038 | 97038 |
| Nuclear | 2040 | 97038 | 97038 |
| Nuclear | 2045 | 97038 | 97038 |
| Nuclear | 2050 | 94298 | 94298 |
| Solar | 2027 | 115692 | 115692 |
| Solar | 2030 | 115685 | 115685 |
| Solar | 2035 | 115677 | 115677 |
| Solar | 2040 | 115288 | 115288 |
| Solar | 2045 | 103532 | 103532 |
| Solar | 2050 | 69624 | 69624 |
| Wind | 2027 | 155394 | 155394 |
| Wind | 2030 | 154608 | 154608 |
| Wind | 2035 | 148441 | 148441 |
| Wind | 2040 | 117636 | 117636 |
| Wind | 2045 | 83551 | 83551 |
| Wind | 2050 | 37428 | 37428 |
| agg_zone | tech_type | resource_name | planning_year | GenX | USENSYS |
|---|---|---|---|---|---|
|
Loading ITables v2.1.4 from the internet...
(need help?) |